package com.gemantic.task.dao.repository;

import java.util.Date;
import java.util.Map;

public interface BaseTaskRepository<T> {

    T getTask(T taskArg, Map<String, String> args);

    T lockTask(T task);

    T closeTask(T task);

    T retryTask(T task, Date nextRunTime);

    T terminateTask(T task);

    T runningTask(T task, int delayMinutes);

    T postponeTask(T task, Date nextRunTime);

    T createTask(T task);


}
